package com.hzhc.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzhc.dto.BaseDto;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 集装箱计费明细
 * </p>
 *
 * @author 功不唐捐
 * @since 2024-06-12
 */
@Data
public class CntrChargeDetailVo extends BaseDto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -3117627105559640551L;


	private Integer id;

	/**
	 * 计划id
	 */
	private String ywOrderId;
	/**
	 * 班列编号
	 */
	private String orderNo;

	/**
	 * 集装箱号
	 */
	private String cntrNo;

	/**
	 * 车号
	 */
	private String truckNo;

	/**
	 * 货名
	 */
	private String goodsName;

	/**
	 * 箱型
	 */
	private String cntrType;

	/**
	 * 箱尺寸
	 */
	private String cntrSize;

	/**
	 * 空重标志( E：空，F：重）
	 */
	private String efFlag;

	/**
	 * 提单号
	 */
	private String billNo;

	/**
	 * 理货时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime tallyTime;

	/**
	 * 客户id
	 */
	private Integer companyId;

	/**
	 * 客户名称
	 */
	private String companyName;

	/**
	 * 内外贸
	 */
	private String tradeType;

	/**
	 * 作业名称
	 */
	private String orderTypeName;

	/**
	 * 操作过程
	 */
	private String workTypeName;

	/**
	 * 货名
	 */
	private String goods;

	/**
	 * 原产地
	 */
	private String sourceArea;

	/**
	 * 货值
	 */
	private String goodsVlue;

	/**
	 * 报关单号
	 */
	private String ciqNo;

	/**
	 * 作业项id
	 */
	private Integer workItemId;

	/**
	 * 作业项名称
	 */
	private String workItemName;

	/**
	 * 计费项目id
	 */
	private Integer chargeItemId;

	/**
	 * 计费项目名称
	 */
	private String chargeItemName;

	/**
	 * 计费类型
	 */
	private String chargeType;

	/**
	 * 计算费用
	 */
	private String price;

	/**
	 * 受理时间
	 */
	private String acceptTime;

	/**
	 * 掏箱量
	 */
	private String unloadingVolume;

	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime createTime;

	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime updateTime;

	/**
	 * 是否删除
	 */
	private Integer disable;

	/**
	 * 创建人
	 */
	private Integer userId;

	/**
	 * 备注
	 */
	private String remark;

	/**
	 * 计费月份
	 */
	private String chargeYearMonth;

	/**
	 * 计费月份查询用
	 */
	private String chargeYearMonthQuery;

	/**
	 * 结算状态
	 */
	private Integer settlementState;

	/**
	 * 结算用户id
	 */
	private Integer settlementUserId;

	/**
	 * 结算人姓名
	 */
	private String settlementUserName;

	/**
	 * 结算时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime settlementTime;

	/**
	 * 堆存天数
	 */
	private String dayNum;

	/**
	 * 费用账单id
	 */
	private Integer chargeBillId;

	/**
	 * 确认状态
	 */
	private Integer confirmState;

	/**
	 * 入园时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime inTime;

	private String cntrSizeType;

	/**
	 * 退费页面区分
	 */
	private Integer ymState;

	/**
	 * 班列类型
	 */
	private String trainTypeName;

	/**
	 * 币种
	 */
	private String currencyName;

	/**
	 * 发车时间
	 */
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime workTime;

	/**
	 * 费用类型
	 */
	private String accountTypeName;
	//限制状态 0 只查堆存费 1查其他计费科目
	private Integer searchFlag;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime startTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime endTime;

	private String nameSimple;
	private String billName;
}
